gpointer data)
{
ShellApp *app;
- ShellAppSystem *appsys;
ShellWindowTracker *tracker;
g_return_if_fail (data != NULL);
app = SHELL_APP (data);
tracker = shell_window_tracker_get_default ();
- appsys = shell_app_system_get_default ();
_shell_window_tracker_add_child_process_app (tracker,
pid,
shell_app_info_get_id (info));
ret = g_desktop_app_info_launch_uris_as_manager (gapp, uris,
- (GAppLaunchContext*) context,
+ G_APP_LAUNCH_CONTEXT (context),
G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
NULL, NULL,
_gather_pid_callback, shell_app,
pid = meta_window_get_pid (window);
+ if (pid == -1)
+ return NULL;
+
return g_hash_table_lookup (tracker->launched_pid_to_app, GINT_TO_POINTER (pid));
}
GPid pid,
ShellApp *app)
{
- int pid_int = (int) pid;
+ gpointer pid_ptr = GINT_TO_POINTER((int)pid);
if (g_hash_table_lookup (tracker->launched_pid_to_app,
- &pid_int))
+ &pid_ptr))
return;
g_hash_table_insert (tracker->launched_pid_to_app,
- GINT_TO_POINTER (pid_int),
+ pid_ptr,
g_object_ref (app));
g_child_watch_add (pid, on_child_exited, NULL);
/* TODO: rescan unassociated windows
- * Very unlikely in practice that the launched app gets ahead of us
+ * Unlikely in practice that the launched app gets ahead of us
* enough to map an X window before we get scheduled after the fork(),
* but adding this note for future reference.
*/